//将方法定义为目标对象的属性，执行完毕后删除
Function.prototype.myCall = function(context=window){
    let key = Symbol();
    context[key] = this;
    var args = [...arguments].slice(1);
    var res = context[key](...args);
    delete context[key];
    return res;
}

var me = {name:"Katy"};
function say(){
    console.log(`my name is ${this.name||'default.'}`);
}
say.myCall(me);